Software Transactional Memory for Dynamic-Sized Data Structures
نویسنده
چکیده
Software transactional memory (STM) is a programming abstraction for organizing access to shared mutable state in concurrent programs by dividing work into atomic units, called transactions. Dynamic STM builds on this idea by allowing extra runtime decisions about transactions and memory usage, therefore it is useful for working with dynamic-sized data structures. This review first introduces STM in general and then describes first influential approach to dynamic STM (DSTM) as given in [1]. Distinctive features of this system are obstruction free progress and pluggable contention management. We give brief overview of the system and evaluate its usability and published quantitative results.
منابع مشابه
Integrating Transactionally Boosted Data Structures with STM Frameworks: A Case Study on Set
Providing transactional collections of data structures with the same performance of highly concurrent data structures enables performance-competitive transactional composability. Although Software Transactional Memory (STM) is increasingly becoming a promising technology for designing and implementing transactional applications, concurrent data structures still do not exploit STM’s advantages. ...
متن کاملOn Developing Optimistic Transactional Lazy Set
Transactional data structures with the same performance of highly concurrent data structures enable performance-competitive transactional applications. Although Software Transactional Memory (STM) is a promising technology for designing and implementing transactional applications, STM-based transactional data structures still perform inferior to their optimized, concurrent (i.e. non-transaction...
متن کاملAdaptive Software Transactional Memory: A Dynamic Approach to Contention Management
Effectively managing shared memory in a multi-threaded environment is critical in order to achieve high performance in multi-core hardware platforms. Software Transactional Memory (STM) is a scheme for managing shared memory in a concurrent programming environment. STM views shared memory in a way similar to that of a database; read and write operations are handled through transactions, with ch...
متن کاملA Case Study in Optimizing HTM-Enabled Dynamic Data Structures: Patricia Tries
The advent of multi-core microprocessors with restricted transactional memory (RTM) and accompanying compiler support allows us to revisit fundamental data structures with an eye to extracting more parallelism. The Patricia trie is one such common data structure used for storing both sets and dictionaries in a variety of contexts. This paper presents a concurrent implementation of a dynamically...
متن کاملLock-free Serializable Transactions
Software transactional memory (STM) provides access to shared data with transactional properties. Existing STM use linearizability as their correctness criterion, although serializability allows more freedom in reordering the operations of committable transactions. Serializable transactions thus provide for more concurrency than linearizable transactions. Specifically, serializability allows re...
متن کامل